1. Field of the Invention
The present invention relates to a remote access search technique used for a plurality of databases.
2. Description of the Related Art
FIG. 1 is a conceptual diagram of a remote access to a virtual database. An application 103 of an application server 101 accesses a database A (104) and a database B (105) which are databases (i.e., native databases) existing in a data server 102. A process for virtualizing a plurality of native databases as one database for an application server 101 is programmed in the application 103. Such a database is called a virtual database in the following description.
FIG. 2 shows a conventional virtual database remote access system. Conventionally, in the case of virtualizing and accessing a plurality of databases (i.e., native databases) 104 and 105, as if one database, existing in a computer 102 which is different from a computer 101 in which an application 103 operates, the following process has been carried out:
(1) A virtual database DML parser 111 of a virtual database control 110 of an application server 101 analyzes DML (Data Manipulation Language) of a search request for a virtual database;
(2) Based on the analysis result, a search request disassembly apparatus 112 of a virtual database control 110 of the application server 101 disassembles the DML of the search request into search requests of DMLs (i.e., native DMLs) for the respective databases 104 and 105;
(3) Respective DBMSs (Database Management systems) 117 and 118 execute the disassembled native DMLs by way of a remote access client control 115 and a remote access server control 116, and transmit/receive the execution result in the reverse route;
(4) A search result assembling apparatus 113 of a virtual database control 110 of the application server 101 assembles the execution results of the native DMLs of the respective DBMSs 117 and 118. The assembled execution result is returned to the application 103 as the search result for the virtual database; and
(5) Note that, when carrying out each of the processes, i.e., the analysis described in the above paragraph (1), the division described in the above paragraph (2), and the assembly described in the above paragraph (4), a relation definition of a logical structure between the virtual database and each database, which is managed by a mapping repository 114, is referred to.
As described above, a correlation for virtualizing a plurality of databases as one database for an application is defined for the application on a client side (i.e., a facilitation of a business logic buildup).
As such, although a virtual database is seemingly one database viewed from an application, it actually corresponds to a plurality of databases. Consequently, there is a case of being unable to request individual databases for parallel accesses, thus requiring a sequential access. Besides, a part of search results is sometimes unnecessary and accordingly discarded at the time of finally summarizing the search results.
This is caused by the problem of schedule logic of a native DML at the time of a division execution of the DML for a virtual database and the problem of dependency of a search result, that is, a validity of a result of processing each native DML is unknown until the processing results are assembled together.
Due to the above described problems, the conventional remote access to a virtual database, while providing the advantage of facilitating a buildup of an application, accompanies the disadvantage of an inefficient access with a large overhead, hence it makes difficult to apply to an actual business.
FIG. 3 shows a conventional concrete example of search result dependency, that is, a search of the database A must be preceded by validating a search result of the database B. A record of the database A (104) and that of the database B (105) are correlated by common data items A2 and B2 respectively.
A DML meaning “extract a record where B1 is equal to “bbb”” is defined in the application 103.
In this case, the application server 101 first requests the data server 102 to extract a record of the B1 being equal to “bbb”, from the database B (step 101; “step” is abbreviated as “S” hereinafter).
And, records RB2 and RB4 are extracted from the database B and transmitted to the application server 101 (S102).
The application server 101 requests the data server 102 for extracting a record of which the A2 is equal to the B2 of the records RB2 and RB4 from the database A (S103).
And, records RA1 and RA2 are extracted from the database A and transmitted to the application server 101 (S104).
As such, the data items A2/B2 cannot be identified until the database B has been searched because the search condition is one relating to a data item B1 (i.e., B1=bbb; that is, to extract a record of which the B1 is equal to bbb) of a record of the database B.
Consequently, the problem of the conventional method lies in the fact that an overhead becomes large at a time of executing an access because of converting, at the aforementioned time, a virtual database DML process into a native database DML process (i.e., analysis, disassembly and assembly) based on a definition of a relationship of logical structures between the virtual database and native database. Moreover, there is another problem of a bloating telecommunication overhead (i.e., the number of communications and/or a transmission volume) at the time of execution due to a dependency of data.
FIG. 4 exemplifies the case of designing a business system by a conventional configuration in which both applications of an application server and a data server collaborate with each other. Such a configuration is used for a stored procedure.
The above described configuration is used for designing a business system if a performance is emphasized for the system from the outset. However, it has been faced with the problem of levying a large load on the development entity for developing it because of requiring a design adjusting interfaces for both of the applications.
Meanwhile, a Laid-Open Japanese Patent Application Publication No. 10-21125 is disclosed as a technique relating to the present invention.